import RTRequest from '@/service'
import { IAccount, IDataType, ILoginDataType, ServiceUrl } from './types'

// 请求函数可以传入一个实例定义返回的数据的类型
/**
 *
 * @param {IAccount} account - 用户账号信息
 * @returns 返回token等用户唯一标识
 */
export const accountLogin = (account: IAccount) => {
  return RTRequest.post<IDataType<ILoginDataType>>({
    url: ServiceUrl.LOGIN,
    data: account
  })
}

/**
 *
 * @param {Number} id - 用户id
 * @returns 根据用户id返回对应用户信息
 */
export const findUserById = (id: number) => {
  return RTRequest.get<IDataType>({
    url: ServiceUrl.USERS + id
  })
}

/**
 *
 * @param {Number} id - 用户id
 * @returns 根据用户id返回对应用户菜单信息
 */
export const findUserMenu = (id: number) => {
  return RTRequest.get<IDataType>({
    url: ServiceUrl.USER_MENU + id + '/menu'
  })
}
